package com.cswangdao.service;

import com.cswangdao.domain.dto.CouponPageDTO;
import com.cswangdao.domain.dto.CouponUserPageDTO;
import com.cswangdao.domain.model.MarketCoupon;
import com.cswangdao.domain.model.MarketCouponUser;
import com.cswangdao.domain.po.Coupon;
import com.cswangdao.domain.vo.AvailableCouponVo;
import com.cswangdao.result.PageResult;

import java.util.List;
import java.util.Map;

public interface CouponService {
    PageResult<Coupon> pageQueryInfo(CouponPageDTO couponPageDTO);

    Coupon addCoupon(Coupon coupon);

    Coupon updateById(Coupon coupon);

    void deleteById(Integer id);

    PageResult<MarketCouponUser> getCouponUserList(CouponUserPageDTO pageDTO);

   Coupon queryById(int i);

    void receiveCoupon(Map params);

    PageResult<MarketCoupon> myCoupons(short status, int page, int limit);

    PageResult<AvailableCouponVo> selectAvailableCoupons(int cartId);

    void exchangeCoupon(String code);

    PageResult<MarketCoupon> allCoupons(int page,int limit);
}
